Information to be printed by a printer is arranged and collected by various software programs, and stored in the memory of a data-processing system for printing. There are basically two kinds of information to be printed, graphical images and textual information, both of which are normally represented in a digitized form.
Text is usually represented in a digitized coded form such as ASCII, while graphical images are usually represented in terms of pixel elements. A pixel, as well known in the art, may be represented by data bits which define the attributes of a screen pixel element. Pixel attributes may define pixel color and shade. An image usually consists of a group of pixels organized to form a pattern coherent to the human eye.
Pages to be printed may contain a combination of both images and text. A page may consist of one or more images and/or one or more textual "blocks" positioned in various locations on the page.
Existing printing techniques normally include three major stages.
In a first stage, namely a composition stage, information corresponding to a printed page is composed by an operator through various software programs which subsequently prepare a digitized form of the information to be printed. This digitized form, as described above for text and graphical images, is usually referred to in the art as a continuous-tone image. For each page, a continuous-tone image of the full page to be printed is prepared and stored in the memory of a data processing system for later conditioning prior to printing.
A second stage of the printing process, namely a half-toning stage, uses the continuous toned image as its input data, and produces information required to drive print heads, as the continuous tone image is not in a form readily usable by printers, as explained below.
Usually, each continuous-tone pixel can represent one of possibly thousands of colors and shades. However, most printers are limited to printing the colors of ink used. To print different colors, various techniques are used.
Colors are usually represented by "shades" of gray. Producing shades of a color, or "toning" as the process is often referred to in the art, is accomplished by printing a lower density of ink of the particular color. For example, in certain printers the color black may be produced by generating 360.times.360 dots per square inch, thereby covering the entire surface with black ink. However a lighter tone such as a given shade of gray is produced by generating 180.times.180 dots per square inch, whereby less than the entire surface is covered. Similarly, for other colors.
Most color printers only use 3 or 4 colors, namely cyan, magneta, yellow and perhaps black (hereinafter "process colors"), that "blend" together to produce a desired color. The process of color printing is complicated because generally shades of a process color are required to be combined to produce a desired color. So, toning is accomplished by printing a lower density of dots of each of the process colors. Thus, it is necessary that "bit-maps" be produced for each process color to inform the printing mechanism exactly how to print the process colors.
The mapping function is normally accomplished by a screen convertor apparatus that implements the half-toning process. Both hardware and software screen convertors are known.
Consequently, the output of the half-toning stage consists of a bit-mapped array representation of the page to be printed. The bit-mapped array functions as a control code array for print-heads. Normally, each bit commands a print head (there may be more than one) to either produce an toned dot (by thermal, ink jet, laser, impact or other means) or not.
In a third stage of the printing process, namely the physical printing of a page, actual printing occurs based on the bit-mapped array data. Usually, the bitmaps produced in the half-toning stage are put on film, or used to make plates for a printing press, or are transmitted directly to a printer such as a laser printer for printing.
Printing a page is not an instantaneous process. Normally there is a time lag (hereinafter "reaction time") between the receipt of a command to print the page and production of the physically printed page.
There are two major components to the reaction time.
A significant portion of the reaction time is due to the time needed to construct the continuous tone image of the full page to be printed from its constituent parts (namely images and textual blocks).
Another significant portion of the reaction time is caused by the half-toning stage needed to convert continuous-tone images to bit-mapped arrays required to control printers.
There are a number of production limitations with existing printing techniques. Existing printing techniques normally require the images that constitute the composition of a page to be printed to be physically ordered in memory when producing a new page, and also require a half-toning stage for each page to be printed. Consequently, there is a reaction time inherent in each new composition of a page to be printed. When numerous small batch jobs are to be printed, with each batch containing different page information, or with similar page information except for images arranged in variable positions on the page, the total production time can be dominated by the reaction time.
When producing voluminous quantities of pages using numerous short run, on demand batches, time is a significant factor in production runs. The reaction time-lags aggregate to cause a substantial delay in the production of pages.